package com.prime.tutorial.moviestore.dao;

import com.prime.tutorial.moviestore.domain.Device;
import com.prime.tutorial.moviestore.domain.Model;
import com.prime.tutorial.moviestore.domain.ModelType;
import com.prime.tutorial.moviestore.domain.State;

import java.util.ArrayList;
import java.util.List;

public interface DeviceDAO extends GenericDAO<Device, Long> {

    public List<Device> findByName(String name);

    public List<Device> findByState(State state);

    public List<Device> findByState(List<State> states);

    public List<Device> findByDeviceType(ModelType modelType);

    public List<Device> findByModelTypeAndState(ModelType modelType,State state);

    public List<Device> findByModelAndState(Model model,State state);

    public List<Device> findAllEnabledNotCPE();

    public List<Device> repWorkload();
}